/*
 * PROJETO LP2 E P2
 * UFCG 01/06/2011
 * PROGRAMA: MEAL POINTS
 * VERS�O: ALPHA
 * 
 * PROGRAMADORES:
 * 		DIEGO TAVARES
 * 		FELIPE TRAVASSOS
 * 		MAYRA KELLY
 */

package projetolp2.GraphicInterface;

import javax.swing.*;
import java.awt.*;
import java.io.FileNotFoundException;
import java.io.IOException;

import projetolp2.Sistem.*;

public class MealPoints extends JFrame {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	protected static JFrame janela;
	public static Component menu;
	
	public static Component cadastrar;
	public static Component cadastrarPag2;
	public static Component visualizarOpinioes;
	public static Component consultaUsuario;
	
	public static Component sugestoes;
	public static Component sugestoespersonalizadasPrato;
	public static Component sugestoespersonalizadas;
	public static Component sugestoesTipo;
	public static Component sugestoesPF;
	public static Component sugestoesSS;
	public static Component sugestoesALC;
	public static Component sugestoesTipoCA;
	public static Component sugestoesTipoRE;
	public static Component sugestoesTipoBO;
	public static Component sugestoesTipoIN;
	public static Component sugestoesUsuario;
	public static Component sugestoesGenerica;
	public static Component sugestoesLocal;
	public static Component sugestoespersonalizadasFiltro;
	public static Component sugestoesFiltropg2;
	
	public static Component configuracoes;
	public static Component rank;
	public static Component selecionarARQ;
	
	public static QuantSugestoes quantidadeSugestoes = new QuantSugestoes();
	protected static ArquivoDeSistema arqConfiguracoes = new ArquivoDeSistema();
	protected static Sistema SISTEMA = Start.SISTEMA;

	protected static JLabel img;
	
	public GerenciamentoDeArquivos arquivo = new GerenciamentoDeArquivos();
	
	public static Color cor;
	protected String IDIOMAPROGRAMA ="";
	
	public String getIDIOMAPROGRAMA() {
		return IDIOMAPROGRAMA;
	}
	public void setIDIOMAPROGRAMA(String iDIOMAPROGRAMA) {
		IDIOMAPROGRAMA = iDIOMAPROGRAMA;
	}
	public static void atualiza(){
		SISTEMA = new Sistema();
		menu = new MenuPrincipal().panel();
		
		cadastrar = new Cadastrar().panel();
		cadastrarPag2 = new CadastrarPag2().panel();
		visualizarOpinioes = new VisualizarOpinioes().panel();
		consultaUsuario = new OpinioesConsultaUsuario();
		
		sugestoes = new Sugestoes().panel();
		sugestoespersonalizadasPrato = new SugestoesPersonalizadaPrato().panel();
		sugestoespersonalizadas = new SugestoesPersonalizadas().panel();
		sugestoesTipo = new SugestoesTipo().panel();
		sugestoesPF = new SugestoesPF();
		sugestoesSS = new SugestoesSS();
		sugestoesALC = new SugestoesALC();
		sugestoesTipoCA = new SugestoesTipoCA();
		sugestoesTipoRE = new SugestoesTipoRE();
		sugestoesTipoBO = new SugestoesTipoBO();
		sugestoesTipoIN = new SugestoesTipoIN();
		sugestoesUsuario = new SugestoesUsuario();
		sugestoesGenerica = new SugestoesGenerica();
		sugestoesLocal = new SugestoesLocal();
		sugestoespersonalizadasFiltro = new Filtro().panel();
		sugestoesFiltropg2 = new Filtropag2();
		
		configuracoes = new Configuracoes().panel();
		rank = new RankingGeral().panel();
		selecionarARQ = new SelecionaArquivo().panel();
	}
	@SuppressWarnings("static-access")
	public static void colocaTema(String tema) throws FileNotFoundException, IOException{
		if(tema == null){
			tema = arqConfiguracoes.lerArquivoTema();//pega do arquivo
		}
		tema = tema.replace("\n","");
		if(tema.equals("1")){
			img = new JLabel(new ImageIcon("imagens/mealpoints1.jpg"));
			cor = Color.DARK_GRAY;
		}
		else if (tema.equals("2")){
			img = new JLabel(new ImageIcon("imagens/mealpoints2.jpg"));	
			cor = Color.WHITE;
		}
		else if (tema.equals("3")){
			img = new JLabel(new ImageIcon("imagens/mealpoints3.jpg"));	
			cor = Color.ORANGE;
		}
		else if (tema.equals("4")){
			img = new JLabel(new ImageIcon("imagens/tecnologi.jpg"));	
			cor = Color.red;
		}
		else if (tema.equals("5")){
			img = new JLabel(new ImageIcon("imagens/mpblack.jpg"));	
			cor = Color.BLACK;
		}
		else if (tema.equals("6")){
			img = new JLabel(new ImageIcon("imagens/mporange.jpg"));	
			cor = Color.orange;
		}
	}
	public MealPoints(){
		try {
			setIDIOMAPROGRAMA(ArquivoDeSistema.lerArquivoIdioma());
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	public int idioma(String nomeIdioma){
		int numIdioma = 0;
		if (nomeIdioma.equals("ingles")){
			numIdioma = 1;
		}
		else if (nomeIdioma.equals("portugues")){
			numIdioma = 0;
		}
		else if (nomeIdioma.equals("espanhol")){
			numIdioma = 2;
		}
		return numIdioma;
	}
	public static void run(){
		atualiza();
		JFrame.setDefaultLookAndFeelDecorated(true);
		janela = new JFrame();
		janela.setSize(640,480);//Tamanho da janela
		janela.setResizable(false);//pode redimensionar a janela
		janela.setLocation(50,50);//Local onde a janela aparecera
		janela.setIconImage(null);
		janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		

		try {
			colocaTema(null);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		
		removerAdicionar(null,menu);
	}
	public static void removerAdicionar(Component remover, Component adicionar){
		System.out.println();
		JPanel Adicionar = (JPanel) adicionar;
		try{
			if (remover != null){
				janela.remove(remover);
			}
			janela.setTitle("Meal Points BETA");
			if (adicionar == sugestoes || adicionar == sugestoespersonalizadas || adicionar == sugestoesPF || 
					adicionar == sugestoespersonalizadasPrato || adicionar == sugestoesTipo || adicionar == sugestoespersonalizadasFiltro){
				Adicionar.add(img, BorderLayout.CENTER);
				janela.setTitle("Meal Points BETA - sugest�es");
			}
			else if (adicionar == menu){
				Adicionar.add(img, BorderLayout.CENTER);
				janela.setTitle("Meal Points BETA");
			}
			else if (adicionar == cadastrar){
				Adicionar.add(img, BorderLayout.CENTER);
				janela.setTitle("Meal Points BETA - cadastrar");
			}
			else if (adicionar == cadastrarPag2){
				janela.setTitle("Meal Points BETA - cadastrar");
				
			}
			else if (adicionar == visualizarOpinioes || Adicionar == ((OpinioesConsultaUsuario) consultaUsuario).panel()){
				Adicionar.add(img, BorderLayout.CENTER);
				janela.setTitle("Meal Points BETA - visualizar Opinioes");
			}
			else if (adicionar == configuracoes){
				Adicionar.add(img, BorderLayout.CENTER);
				janela.setTitle("Meal Points BETA - configuracoes");
			}
			else if (adicionar == rank){
				janela.setTitle("Meal Points BETA - ranking geral");
			}
			janela.add(Adicionar);
			janela.repaint();
			janela.setVisible(true);
			
		}catch(Exception e){
			System.err.println(e.getMessage());
		}
	}
	
}